跳到主要内容

基本工作流程

基本语法概念

安装 FFMPEG 后,只需在终端上输入ffmpeg即可运行该程序。 FFMPEG 的基本流程非常直观。看下面这个非常基本的例子。

获取.wav格式的音频文件(例如:mysong.wav)并将其转换为 Mp3 音频文件,因此创建一个名为mysong.mp3的新文件。 假设文件mysong.wav已经在当前工作目录中,输入如下命令:

ffmpeg -i mysong.wav mysong.mp3

-i表示Input。 此输入可以是计算机中的本地文件,也可以是来自远程 URL 的文件。

在输出文件末尾指定的文件扩展名将使 FFMPEG 自动选择 Mp3 格式,并为该类型的文件提供一些最佳选项。 但是如果同时处理许多视频或不同的音频文件可能比这更复杂一些。 可能希望为该 mp3 输出选择特定的比特率,或者您的WAV 文件可能需要在转换发生之前进行预处理,例如使用标准响度归一化滤波器:

ffmpeg -i mysong.wav -af loudnorm -c:a mp3 -b:a 256k -ar 48000 mysong.mp3

这将采用相同的原始文件,但这次它将对其进行处理,然后将其转换为 mp3 文件:

ffmpeg -i mysong.wav:将处理输入文件mysong.wav

-af loudnorm :将应用Audio Filter Loudnorm,它将执行标准音频响度归一化

-c:a mp3:表示Codec Audio mp3。 此选项将指定我们要导出 mp3 文件

-b:a 256k:表示Bitrate of the Audio,将生成一个比特率为256 Kbit/s的音频文件

-ar 48000:表示Audio Rate。 此选项将进一步指定我们要创建具有特定音频采样率(在本例中为 48000 KHz)的输出文件。

相同的语法结构适用于视频文件。 举个例子:Apple ProRes 文件master.mov必须转换为h264:

ffmpeg -i master.mov master.mp4

输出文件上使用的扩展名将触发 FFMPEG 的几个默认选项,以便在 mp4 容器中生成高质量的 h264 文件。 但是我们可能想要一个更小的文件或一个特定的音频选项,或者可能需要从5.1音轨进行立体声缩混,或者我们可能想对一个3个小时的URL视频仅处理和输出其前2分30秒 :

ffmpeg -i https://www.dropbox.com/master.mov -t 00:02:30 -c:v h264 -b:v 3M -c:a aac -b:a 128k -ar 44100 -ac 2 master.mp4

-i:表示Input

-t:表示仅处理该指定时间段的数据

-c:v:表示Codec Video

-b:v:表示Video Bitrate,即每秒所需的视频数据量,以兆比特(Megabit)表示

-c:a:表示Audio Codec

-b:a:表示Audio Bitrate,即每秒所需的音频数据量,以千比特(kilobit)表示

-ar:表示Audio Rate,也称为采样率(Sampling Rate)。样本是在该音轨中对某个特定时间的测量,快照(Snapshot)。例如用1和0的二进制语言描述。 每秒重复该测量数万次; 采集快照的频率表示采样率或采样频率,以千赫兹(kiloHertz)为单位,单位表示每秒1000 次。 例如,音频 CD 的采样率为 44.1kHz,这意味着每秒对模拟信号进行44100次采样。

-ac 2:表示2 Audio Channels (Left+Right) 。当必须对包含多个音轨的音频文件进行混音(down-mix)时,例如Dolby Surround 5.1/7.1或其它类似音轨,那么此选项将很有用,